export default {
  appDEFields: [
    {
      codeName: 'id',
      logicName: '标识',
      predefinedType: 'NONE',
      stdDataType: 25,
      stringLength: 100,
      name: 'ID',
      id: 'id',
    },
    {
      codeName: 'name',
      logicName: '名称',
      predefinedType: 'NONE',
      stdDataType: 25,
      stringLength: 200,
      enableQuickSearch: true,
      name: 'NAME',
      id: 'name',
    },
    {
      codeName: 'update_time',
      logicName: '更新时间',
      predefinedType: 'UPDATEDATE',
      stdDataType: 5,
      valueFormat: 'YYYY-MM-DD HH:mm:ss',
      name: 'UPDATE_TIME',
      id: 'update_time',
    },
    {
      codeName: 'update_man',
      logicName: '更新人',
      predefinedType: 'UPDATEMAN',
      stdDataType: 25,
      stringLength: 100,
      name: 'UPDATE_MAN',
      id: 'update_man',
    },
    {
      codeName: 'create_time',
      logicName: '建立时间',
      predefinedType: 'CREATEDATE',
      stdDataType: 5,
      valueFormat: 'YYYY-MM-DD HH:mm:ss',
      name: 'CREATE_TIME',
      id: 'create_time',
    },
    {
      codeName: 'create_man',
      logicName: '建立人',
      predefinedType: 'CREATEMAN',
      stdDataType: 25,
      stringLength: 100,
      name: 'CREATE_MAN',
      id: 'create_man',
    },
    {
      codeName: 'owner_id',
      logicName: '所属数据标识',
      predefinedType: 'PARENTID',
      stdDataType: 25,
      stringLength: 100,
      name: 'OWNER_ID',
      id: 'owner_id',
    },
    {
      codeName: 'owner_type',
      logicName: '所属数据对象',
      predefinedType: 'PARENTTYPE',
      stdDataType: 25,
      stringLength: 100,
      name: 'OWNER_TYPE',
      id: 'owner_type',
    },
    {
      codeName: 'owner_subtype',
      logicName: '所属对象子类型',
      predefinedType: 'PARENTSUBTYPE',
      stdDataType: 25,
      stringLength: 100,
      name: 'OWNER_SUBTYPE',
      id: 'owner_subtype',
    },
    {
      codeName: 'file_id',
      logicName: '文件标识',
      predefinedType: 'NONE',
      stdDataType: 25,
      stringLength: 500,
      name: 'FILE_ID',
      id: 'file_id',
    },
    {
      codeName: 'parent_version_id',
      logicName: '父对象版本标识',
      predefinedType: 'PARENTVERSIONID',
      stdDataType: 25,
      stringLength: 100,
      name: 'PARENT_VERSION_ID',
      id: 'parent_version_id',
    },
    {
      codeName: 'title',
      logicName: '标题',
      predefinedType: 'NONE',
      stdDataType: 25,
      stringLength: 100,
      name: 'TITLE',
      id: 'title',
    },
  ],
  appDEMethodDTOs: [
    {
      codeName: 'attachment_dto',
      appDEMethodDTOFields: [
        {
          codeName: 'id',
          logicName: '标识',
          appDEFieldId: 'id',
          sourceType: 'DEFIELD',
          stdDataType: 25,
          type: 'SIMPLE',
          id: 'id',
        },
        {
          codeName: 'name',
          logicName: '名称',
          appDEFieldId: 'name',
          sourceType: 'DEFIELD',
          stdDataType: 25,
          type: 'SIMPLE',
          allowEmpty: true,
          id: 'name',
        },
        {
          codeName: 'update_time',
          jsonFormat: 'yyyy-MM-dd HH:mm:ss',
          logicName: '更新时间',
          appDEFieldId: 'update_time',
          sourceType: 'DEFIELD',
          stdDataType: 5,
          type: 'SIMPLE',
          id: 'update_time',
        },
        {
          codeName: 'update_man',
          logicName: '更新人',
          appDEFieldId: 'update_man',
          sourceType: 'DEFIELD',
          stdDataType: 25,
          type: 'SIMPLE',
          id: 'update_man',
        },
        {
          codeName: 'create_time',
          jsonFormat: 'yyyy-MM-dd HH:mm:ss',
          logicName: '建立时间',
          appDEFieldId: 'create_time',
          sourceType: 'DEFIELD',
          stdDataType: 5,
          type: 'SIMPLE',
          id: 'create_time',
        },
        {
          codeName: 'create_man',
          logicName: '建立人',
          appDEFieldId: 'create_man',
          sourceType: 'DEFIELD',
          stdDataType: 25,
          type: 'SIMPLE',
          id: 'create_man',
        },
        {
          codeName: 'owner_id',
          logicName: '所属数据标识',
          appDEFieldId: 'owner_id',
          sourceType: 'DEFIELD',
          stdDataType: 25,
          type: 'SIMPLE',
          allowEmpty: true,
          id: 'owner_id',
        },
        {
          codeName: 'owner_type',
          logicName: '所属数据对象',
          appDEFieldId: 'owner_type',
          sourceType: 'DEFIELD',
          stdDataType: 25,
          type: 'SIMPLE',
          allowEmpty: true,
          id: 'owner_type',
        },
        {
          codeName: 'owner_subtype',
          logicName: '所属对象子类型',
          appDEFieldId: 'owner_subtype',
          sourceType: 'DEFIELD',
          stdDataType: 25,
          type: 'SIMPLE',
          allowEmpty: true,
          id: 'owner_subtype',
        },
        {
          codeName: 'file_id',
          logicName: '文件标识',
          appDEFieldId: 'file_id',
          sourceType: 'DEFIELD',
          stdDataType: 25,
          type: 'SIMPLE',
          allowEmpty: true,
          id: 'file_id',
        },
        {
          codeName: 'parent_version_id',
          logicName: '父对象版本标识',
          appDEFieldId: 'parent_version_id',
          sourceType: 'DEFIELD',
          stdDataType: 25,
          type: 'SIMPLE',
          allowEmpty: true,
          id: 'parent_version_id',
        },
        {
          codeName: 'title',
          logicName: '标题',
          appDEFieldId: 'title',
          sourceType: 'DEFIELD',
          stdDataType: 25,
          type: 'SIMPLE',
          allowEmpty: true,
          id: 'title',
        },
      ],
      sourceType: 'DE',
      type: 'DEFAULT',
      id: 'attachment_dto',
    },
    {
      codeName: 'attachment_filter_dto',
      appDEMethodDTOFields: [
        {
          codeName: 'n_id_eq',
          logicName: '标识',
          appDEFieldId: 'id',
          sourceType: 'DEFSEARCHMODE',
          stdDataType: 25,
          type: 'SIMPLE',
          allowEmpty: true,
          id: 'n_id_eq',
        },
        {
          codeName: 'n_name_like',
          logicName: '名称',
          appDEFieldId: 'name',
          sourceType: 'DEFSEARCHMODE',
          stdDataType: 25,
          type: 'SIMPLE',
          allowEmpty: true,
          id: 'n_name_like',
        },
        {
          codeName: 'n_owner_id_eq',
          logicName: '所属数据标识',
          appDEFieldId: 'owner_id',
          sourceType: 'DEFSEARCHMODE',
          stdDataType: 25,
          type: 'SIMPLE',
          allowEmpty: true,
          id: 'n_owner_id_eq',
        },
      ],
      sourceType: 'DE',
      type: 'DEFILTER',
      id: 'attachment_filter_dto',
    },
  ],
  appDEMethods: [
    {
      codeName: 'check_key',
      methodType: 'DEACTION',
      appDEMethodInput: {
        appDEMethodDTOId: 'attachment_dto',
        type: 'DTO',
        id: '输入对象',
      },
      appDEMethodReturn: {
        stdDataType: 9,
        type: 'SIMPLE',
        id: '返回对象',
      },
      requestMethod: 'POST',
      requestParamType: 'ENTITY',
      requestPath: '/check_key',
      actionMode: 'CHECKKEY',
      actionTag: 'CheckKey',
      actionType: 'REMOTE',
      dataSetType: 'REMOTE',
      name: 'CheckKey',
      id: 'check_key',
    },
    {
      codeName: 'create',
      methodType: 'DEACTION',
      appDEMethodInput: {
        appDEMethodDTOId: 'attachment_dto',
        type: 'DTO',
        output: true,
        id: '输入对象',
      },
      appDEMethodReturn: {
        appDEMethodDTOId: 'attachment_dto',
        type: 'DTO',
        id: '返回对象',
      },
      requestMethod: 'POST',
      requestParamType: 'ENTITY',
      noServiceCodeName: true,
      actionMode: 'CREATE',
      actionTag: 'Create',
      actionType: 'REMOTE',
      dataSetType: 'REMOTE',
      name: 'Create',
      id: 'create',
    },
    {
      codeName: 'get',
      methodType: 'DEACTION',
      appDEMethodInput: {
        keyAppDEFieldId: 'id',
        type: 'KEYFIELD',
        id: '输入对象',
      },
      appDEMethodReturn: {
        appDEMethodDTOId: 'attachment_dto',
        type: 'DTO',
        id: '返回对象',
      },
      requestField: 'ID',
      requestMethod: 'GET',
      requestParamType: 'FIELD',
      needResourceKey: true,
      noServiceCodeName: true,
      actionMode: 'READ',
      actionTag: 'Get',
      actionType: 'REMOTE',
      dataSetType: 'REMOTE',
      name: 'Get',
      id: 'get',
    },
    {
      codeName: 'get_draft',
      methodType: 'DEACTION',
      appDEMethodInput: {
        appDEMethodDTOId: 'attachment_dto',
        type: 'DTO',
        id: '输入对象',
      },
      appDEMethodReturn: {
        appDEMethodDTOId: 'attachment_dto',
        type: 'DTO',
        id: '返回对象',
      },
      requestMethod: 'GET',
      requestParamType: 'NONE',
      requestPath: '/get_draft',
      actionMode: 'GETDRAFT',
      actionTag: 'GetDraft',
      actionType: 'REMOTE',
      dataSetType: 'REMOTE',
      name: 'GetDraft',
      id: 'get_draft',
    },
    {
      codeName: 'remove',
      methodType: 'DEACTION',
      appDEMethodInput: {
        keyAppDEFieldId: 'id',
        type: 'KEYFIELDS',
        id: '输入对象',
      },
      appDEMethodReturn: {
        type: 'VOID',
        id: '返回对象',
      },
      requestField: 'ID',
      requestMethod: 'DELETE',
      requestParamType: 'FIELD',
      needResourceKey: true,
      noServiceCodeName: true,
      actionMode: 'DELETE',
      actionTag: 'Remove',
      actionType: 'REMOTE',
      batchActionMode: 1,
      enableBatchAction: true,
      dataSetType: 'REMOTE',
      name: 'Remove',
      id: 'remove',
    },
    {
      codeName: 'save',
      methodType: 'DEACTION',
      appDEMethodInput: {
        appDEMethodDTOId: 'attachment_dto',
        type: 'DTO',
        output: true,
        id: '输入对象',
      },
      appDEMethodReturn: {
        appDEMethodDTOId: 'attachment_dto',
        type: 'DTO',
        id: '返回对象',
      },
      requestMethod: 'POST',
      requestParamType: 'ENTITY',
      requestPath: '/save',
      actionMode: 'SAVE',
      actionTag: 'Save',
      actionType: 'REMOTE',
      dataSetType: 'REMOTE',
      name: 'Save',
      id: 'save',
    },
    {
      codeName: 'update',
      methodType: 'DEACTION',
      appDEMethodInput: {
        appDEMethodDTOId: 'attachment_dto',
        type: 'DTO',
        output: true,
        id: '输入对象',
      },
      appDEMethodReturn: {
        appDEMethodDTOId: 'attachment_dto',
        type: 'DTO',
        id: '返回对象',
      },
      requestMethod: 'PUT',
      requestParamType: 'ENTITY',
      needResourceKey: true,
      noServiceCodeName: true,
      actionMode: 'UPDATE',
      actionTag: 'Update',
      actionType: 'REMOTE',
      dataSetType: 'REMOTE',
      name: 'Update',
      id: 'update',
    },
    {
      codeName: 'fetch_default',
      methodType: 'FETCH',
      appDEMethodInput: {
        appDEMethodDTOId: 'attachment_filter_dto',
        type: 'DTO',
        id: '输入对象',
      },
      appDEMethodReturn: {
        appDEMethodDTOId: 'attachment_dto',
        type: 'PAGE',
        id: '返回对象',
      },
      requestMethod: 'POST',
      requestParamType: 'ENTITY',
      requestPath: '/fetch_default',
      actionType: 'REMOTE',
      dataSetName: 'DEFAULT',
      dataSetTag: 'Default',
      dataSetType: 'REMOTE',
      id: 'fetch_default',
    },
    {
      codeName: 'FilterCreate',
      methodType: 'FILTERACTION',
      builtinMethod: true,
      actionType: 'REMOTE',
      dataSetType: 'REMOTE',
      name: 'FILTERCREATE',
      id: 'filtercreate',
    },
    {
      codeName: 'FilterFetch',
      methodType: 'FILTERACTION',
      builtinMethod: true,
      actionType: 'REMOTE',
      dataSetType: 'REMOTE',
      name: 'FILTERFETCH',
      id: 'filterfetch',
    },
    {
      codeName: 'FilterGet',
      methodType: 'FILTERACTION',
      builtinMethod: true,
      actionType: 'REMOTE',
      dataSetType: 'REMOTE',
      name: 'FILTERGET',
      id: 'filterget',
    },
    {
      codeName: 'FilterGetDraft',
      methodType: 'FILTERACTION',
      builtinMethod: true,
      actionType: 'REMOTE',
      dataSetType: 'REMOTE',
      name: 'FILTERGETDRAFT',
      id: 'filtergetdraft',
    },
    {
      codeName: 'FilterRemove',
      methodType: 'FILTERACTION',
      builtinMethod: true,
      actionType: 'REMOTE',
      dataSetType: 'REMOTE',
      name: 'FILTERREMOVE',
      id: 'filterremove',
    },
    {
      codeName: 'FilterSearch',
      methodType: 'FILTERACTION',
      builtinMethod: true,
      actionType: 'REMOTE',
      dataSetType: 'REMOTE',
      name: 'FILTERSEARCH',
      id: 'filtersearch',
    },
    {
      codeName: 'FilterUpdate',
      methodType: 'FILTERACTION',
      builtinMethod: true,
      actionType: 'REMOTE',
      dataSetType: 'REMOTE',
      name: 'FILTERUPDATE',
      id: 'filterupdate',
    },
  ],
  appDEUIActions: [
    {
      actionLevel: 100,
      actionTarget: 'SINGLEDATA',
      buttonStyle: 'DEFAULT',
      caption: '附件预览',
      codeName: 'attachment_preview',
      frontProcessType: 'OTHER',
      fullCodeName: 'attachment_attachment_preview',
      sysImage: {
        cssClass: 'fa fa-search',
        glyph: 'xf002@FontAwesome',
      },
      uiactionMode: 'FRONT',
      uiactionTag: 'attachment_preview',
      uiactionType: 'DEUIACTION',
      uilogicAttachMode: 'REPLACE',
      showBusyIndicator: true,
      noPrivDisplayMode: 2,
      appDEUILogicId: 'attachment_preview',
      appDataEntityId: 'web.attachment',
      name: '附件预览',
      id: 'attachment_preview@attachment',
    },
    {
      actionLevel: 100,
      actionTarget: 'SINGLEKEY',
      buttonStyle: 'DEFAULT',
      caption: '删除',
      codeName: 'delete',
      frontProcessType: 'OTHER',
      fullCodeName: 'attachment_delete',
      sysImage: {
        cssClass: 'fa fa-trash-o',
        glyph: 'xf014@FontAwesome',
      },
      tooltip: '删除',
      uiactionMode: 'FRONT',
      uiactionTag: 'delete',
      uiactionType: 'DEUIACTION',
      uilogicAttachMode: 'REPLACE',
      showBusyIndicator: true,
      noPrivDisplayMode: 2,
      appDEUILogicId: 'remove_attachment',
      appDataEntityId: 'web.attachment',
      name: '附件删除',
      id: 'delete@attachment',
    },
    {
      actionLevel: 100,
      actionTarget: 'SINGLEDATA',
      buttonStyle: 'DEFAULT',
      caption: '下载',
      codeName: 'download',
      frontProcessType: 'OTHER',
      fullCodeName: 'attachment_download',
      navigateParams: [
        {
          key: 'fileid',
          value: 'file_id',
          id: 'fileid',
        },
        {
          key: 'filename',
          value: 'name',
          id: 'filename',
        },
      ],
      sysImage: {
        cssClass: 'fa fa-download',
        glyph: 'xf019@FontAwesome',
      },
      sysPFPluginId: 'file_download',
      tooltip: '下载当前附件',
      uiactionMode: 'FRONT',
      uiactionTag: 'download',
      uiactionType: 'DEUIACTION',
      showBusyIndicator: true,
      noPrivDisplayMode: 2,
      appDataEntityId: 'web.attachment',
      name: '附件下载',
      id: 'download@attachment',
    },
  ],
  appDEUILogics: [
    {
      codeName: 'attachment_preview',
      defaultParamName: 'Default',
      logicName: '附件预览',
      deuilogicNodes: [
        {
          codeName: 'Begin',
          leftPos: 200,
          logicNodeType: 'BEGIN',
          deuilogicLinks: [
            {
              dstDEUILogicNodeId: 'rawjscode1',
              srcDEUILogicNodeId: 'begin',
              id: '连接名称',
            },
          ],
          topPos: 200,
          parallelOutput: true,
          name: '开始',
          id: 'begin',
        },
        {
          code: 'const url = window.location;\r\nvar file_name = uiLogic.default.name;\r\nvar file_id = uiLogic.default.id;\r\nvar file_preview_address = ibiz.env.customParams.file_preview_address;\r\n\r\nif (file_preview_address !== null && file_preview_address !== undefined && file_preview_address !== \'\') {\r\n    const windowInfo = getCurrentWindowInfo(url);\r\n\r\n    let uploadUrl = `${ibiz.env.baseUrl}/${ibiz.env.appId}${ibiz.env.downloadFileUrl}`;\r\n    const app = ibiz.hub.getApp(context.srfappid);\r\n    const OSSCat = app.model.userParam?.DefaultOSSCat;\r\n    uploadUrl = uploadUrl.replace(\'/{cat}\', OSSCat ? `/${OSSCat}` : \'\');\r\n\r\n    var filedownloadurl = windowInfo + uploadUrl + \'/\'+file_id+\'?fullfilename=\'+file_name;\r\n\r\n    var b64Encoded = ibiz.util.base64.encode(filedownloadurl);\r\n    var previewUrl = file_preview_address + \'/onlinePreview?url=\'+encodeURIComponent(b64Encoded);\r\n\r\n    window.open(previewUrl);\r\n} else {\r\n  util.message.error(\'无附件预览服务，请联系管理员添加!\');\r\n}\r\n\r\nfunction getCurrentWindowInfo(url) {\r\n    const protocol = url.protocol;\r\n    const host = url.hostname; \r\n    const port = url.port || (protocol === "https:" ? "443" : "80"); \r\n    const isIPAddress = /^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/.test(host);\r\n    if (isIPAddress) {\r\n        return  protocol +"//" + host + ":" + port ;\r\n    } else {\r\n        return  protocol +"//" + host + ":" + port ;\r\n    }\r\n}',
          codeName: 'RAWJSCODE1',
          leftPos: 507,
          logicNodeType: 'RAWJSCODE',
          deuilogicLinks: [
            {
              dstDEUILogicNodeId: 'end1',
              srcDEUILogicNodeId: 'rawjscode1',
              id: '连接名称',
            },
          ],
          topPos: 208,
          name: '注入脚本代码',
          id: 'rawjscode1',
        },
        {
          codeName: 'END1',
          leftPos: 942,
          logicNodeType: 'END',
          topPos: 200,
          name: '结束',
          id: 'end1',
        },
      ],
      deuilogicParams: [
        {
          codeName: 'Default',
          default: true,
          entityParam: true,
          name: '传入变量',
          id: 'default',
        },
      ],
      startDEUILogicNodeId: 'begin',
      name: '附件预览',
      id: 'attachment_preview',
    },
    {
      codeName: 'calc_attachment_hidden',
      defaultParamName: 'Default',
      logicName: '计算附件是否隐藏逻辑',
      deuilogicNodes: [
        {
          codeName: 'Begin',
          leftPos: 390,
          logicNodeType: 'BEGIN',
          deuilogicLinks: [
            {
              dstDEUILogicNodeId: 'preparejsparam1',
              srcDEUILogicNodeId: 'begin',
              id: '连接名称',
            },
          ],
          topPos: 50,
          parallelOutput: true,
          name: '开始',
          id: 'begin',
        },
        {
          codeName: 'PREPAREJSPARAM2',
          leftPos: 530,
          logicNodeType: 'PREPAREJSPARAM',
          deuilogicLinks: [
            {
              dstDEUILogicNodeId: 'rawjscode1',
              srcDEUILogicNodeId: 'preparejsparam2',
              id: '连接名称',
            },
          ],
          deuilogicNodeParams: [
            {
              dstFieldName: 'state.keepAlive',
              dstDEUILogicParamId: 'grid',
              paramAction: 'SETPARAMVALUE',
              srcValue: 'true',
              srcValueType: 'SRCVALUE',
              name: '直接值[true] ==> grid[state.keepAlive]',
              id: '直接值[true] ==> grid[state.keepalive]',
            },
            {
              dstFieldName: 'state.visible',
              dstDEUILogicParamId: 'grid',
              paramAction: 'SETPARAMVALUE',
              srcFieldName: 'true',
              srcValue: 'true',
              srcValueType: 'SRCVALUE',
              id: '直接值[true] ==> grid[state.visible]',
            },
          ],
          topPos: 440,
          name: '设置表格显示',
          id: 'preparejsparam2',
        },
        {
          codeName: 'PREPAREJSPARAM3',
          leftPos: 200,
          logicNodeType: 'PREPAREJSPARAM',
          deuilogicLinks: [
            {
              dstDEUILogicNodeId: 'end1',
              srcDEUILogicNodeId: 'preparejsparam3',
              id: '连接名称',
            },
          ],
          deuilogicNodeParams: [
            {
              dstFieldName: 'state.keepAlive',
              dstDEUILogicParamId: 'grid',
              paramAction: 'SETPARAMVALUE',
              srcValue: 'true',
              srcValueType: 'SRCVALUE',
              name: '直接值[true] ==> grid[state.keepAlive]',
              id: '直接值[true] ==> grid[state.keepalive]',
            },
            {
              dstFieldName: 'state.visible',
              dstDEUILogicParamId: 'grid',
              paramAction: 'SETPARAMVALUE',
              srcValue: 'false',
              srcValueType: 'SRCVALUE',
              id: '直接值[false] ==> grid[state.visible]',
            },
          ],
          topPos: 440,
          name: '设置表格隐藏',
          id: 'preparejsparam3',
        },
        {
          codeName: 'END1',
          leftPos: 390,
          logicNodeType: 'END',
          topPos: 650,
          name: '结束',
          id: 'end1',
        },
        {
          codeName: 'PREPAREJSPARAM1',
          leftPos: 350,
          logicNodeType: 'PREPAREJSPARAM',
          deuilogicLinks: [
            {
              dstDEUILogicNodeId: 'preparejsparam2',
              deuilogicLinkGroupCond: {
                groupOP: 'AND',
                deuilogicLinkConds: [
                  {
                    condOP: 'ISNOTNULL',
                    dstFieldName: 'mdController.state.items',
                    dstLogicParamId: 'grid',
                    logicType: 'SINGLE',
                    name: 'grid[mdController.state.items] 值不为空(NotNil)',
                    id: 'grid[mdcontroller.state.items] 值不为空(notnil)',
                  },
                ],
                logicType: 'GROUP',
              },
              srcDEUILogicNodeId: 'preparejsparam1',
              id: '表格存在数据',
            },
            {
              dstDEUILogicNodeId: 'preparejsparam3',
              deuilogicLinkGroupCond: {
                groupOP: 'AND',
                deuilogicLinkConds: [
                  {
                    condOP: 'ISNULL',
                    dstFieldName: 'mdController.state.items',
                    dstLogicParamId: 'grid',
                    logicType: 'SINGLE',
                    name: 'grid[mdController.state.items] 值为空(Nil)',
                    id: 'grid[mdcontroller.state.items] 值为空(nil)',
                  },
                ],
                logicType: 'GROUP',
              },
              srcDEUILogicNodeId: 'preparejsparam1',
              id: '表格不存在数据',
            },
          ],
          deuilogicNodeParams: [
            {
              dstDEUILogicParamId: 'grid',
              paramAction: 'SETPARAMVALUE',
              srcFieldName: 'details.attachments',
              srcDEUILogicParamId: 'form',
              srcValueType: 'SRCDLPARAM',
              id: 'form[details.attachments] ==> grid',
            },
          ],
          topPos: 220,
          name: '获取重复器表格',
          id: 'preparejsparam1',
        },
        {
          code: "const rows = uiLogic.grid.mdController.state.rows;\r\nconst srfreadonly = context.srfreadonly;\r\nif (rows && rows.length > 0) {\r\n\trows.forEach(row => {\r\n        // 删除附件行为禁用\r\n\t\tconst uiActionId = row.uaColStates.uagridcolumn1.u44d00e2;\r\n        if(srfreadonly == true && uiActionId.hasOwnProperty('disabled')){\r\n            uiActionId.disabled = true;\r\n        }    \r\n\t})\r\n}\t\r\n",
          codeName: 'RAWJSCODE1',
          leftPos: 460,
          logicNodeType: 'RAWJSCODE',
          deuilogicLinks: [
            {
              dstDEUILogicNodeId: 'end1',
              srcDEUILogicNodeId: 'rawjscode1',
              id: '连接名称',
            },
          ],
          topPos: 550,
          name: '上下文中srfreadonly禁用删除附件行为',
          id: 'rawjscode1',
        },
      ],
      deuilogicParams: [
        {
          codeName: 'grid',
          entityParam: true,
          name: '重复器表格',
          id: 'grid',
        },
        {
          codeName: 'Default',
          default: true,
          entityParam: true,
          name: '传入变量',
          id: 'default',
        },
        {
          codeName: 'form',
          ctrlParam: true,
          name: '表单',
          id: 'form',
        },
      ],
      startDEUILogicNodeId: 'begin',
      name: '计算附件是否隐藏逻辑',
      id: 'calc_attachment_hidden',
    },
    {
      codeName: 'remove_attachment',
      defaultParamName: 'Default',
      logicName: '附件删除',
      deuilogicNodes: [
        {
          codeName: 'Begin',
          leftPos: 200,
          logicNodeType: 'BEGIN',
          deuilogicLinks: [
            {
              dstDEUILogicNodeId: 'preparejsparam1',
              srcDEUILogicNodeId: 'begin',
              id: '连接名称',
            },
          ],
          topPos: 200,
          parallelOutput: true,
          name: '开始',
          id: 'begin',
        },
        {
          code: 'uiLogic.attach = { data: uiLogic.default, silent: true };',
          codeName: 'RAWJSCODE1',
          leftPos: 662,
          logicNodeType: 'RAWJSCODE',
          deuilogicLinks: [
            {
              dstDEUILogicNodeId: 'deaction1',
              srcDEUILogicNodeId: 'rawjscode1',
              id: '连接名称',
            },
          ],
          topPos: 208,
          name: '设置附件数据',
          id: 'rawjscode1',
        },
        {
          codeName: 'PREPAREJSPARAM2',
          leftPos: 1220,
          logicNodeType: 'PREPAREJSPARAM',
          deuilogicLinks: [
            {
              dstDEUILogicNodeId: 'viewctrlinvoke2',
              srcDEUILogicNodeId: 'preparejsparam2',
              id: '连接名称',
            },
          ],
          deuilogicNodeParams: [
            {
              dstFieldName: 'silent',
              dstDEUILogicParamId: 'default',
              paramAction: 'SETPARAMVALUE',
              srcValue: 'true',
              srcValueType: 'SRCVALUE',
              name: '直接值[true] ==> Default[silent]',
              id: '直接值[true] ==> default[silent]',
            },
          ],
          topPos: 390,
          name: '设置表单静默保存',
          id: 'preparejsparam2',
        },
        {
          invokeCtrlId: 'grid',
          invokeMethod: 'remove',
          invokeParamId: 'attach',
          codeName: 'VIEWCTRLINVOKE1',
          leftPos: 942,
          logicNodeType: 'VIEWCTRLINVOKE',
          deuilogicLinks: [
            {
              dstDEUILogicNodeId: 'preparejsparam2',
              deuilogicLinkGroupCond: {
                groupOP: 'AND',
                deuilogicLinkConds: [
                  {
                    condOP: 'EQ',
                    dstFieldName: 'state.data',
                    dstLogicParamId: 'form',
                    paramValue: '1',
                    value: '1',
                    logicType: 'SINGLE',
                    id: 'form[state.data] 等于(=) 1',
                  },
                ],
                logicType: 'GROUP',
              },
              srcDEUILogicNodeId: 'viewctrlinvoke1',
              id: '主表单为编辑表单',
            },
            {
              dstDEUILogicNodeId: 'end1',
              deuilogicLinkGroupCond: {
                groupOP: 'AND',
                deuilogicLinkConds: [
                  {
                    condOP: 'EQ',
                    dstFieldName: 'state.data',
                    dstLogicParamId: 'form',
                    paramValue: '0',
                    value: '0',
                    logicType: 'SINGLE',
                    id: 'form[state.data] 等于(=) 0',
                  },
                ],
                logicType: 'GROUP',
              },
              srcDEUILogicNodeId: 'viewctrlinvoke1',
              id: '主表单为新建表单',
            },
          ],
          topPos: 208,
          name: '表格行删除',
          id: 'viewctrlinvoke1',
        },
        {
          invokeCtrlId: 'form',
          invokeMethod: 'save',
          invokeParamId: 'default',
          codeName: 'VIEWCTRLINVOKE2',
          leftPos: 1520,
          logicNodeType: 'VIEWCTRLINVOKE',
          deuilogicLinks: [
            {
              dstDEUILogicNodeId: 'end1',
              srcDEUILogicNodeId: 'viewctrlinvoke2',
              id: '连接名称',
            },
          ],
          topPos: 390,
          name: '视图部件调用',
          id: 'viewctrlinvoke2',
        },
        {
          dstAppDEActionId: 'remove',
          dstAppDataEntityId: 'web.attachment',
          codeName: 'DEACTION1',
          dstDEUILogicParamId: 'attach',
          leftPos: 780,
          logicNodeType: 'DEACTION',
          deuilogicLinks: [
            {
              dstDEUILogicNodeId: 'viewctrlinvoke1',
              srcDEUILogicNodeId: 'deaction1',
              id: '连接名称',
            },
          ],
          topPos: 380,
          name: '实体行为',
          id: 'deaction1',
        },
        {
          codeName: 'END1',
          leftPos: 1768,
          logicNodeType: 'END',
          topPos: 200,
          name: '结束',
          id: 'end1',
        },
        {
          codeName: 'PREPAREJSPARAM1',
          leftPos: 406,
          logicNodeType: 'PREPAREJSPARAM',
          deuilogicLinks: [
            {
              dstDEUILogicNodeId: 'rawjscode1',
              srcDEUILogicNodeId: 'preparejsparam1',
              id: '连接名称',
            },
          ],
          deuilogicNodeParams: [
            {
              dstDEUILogicParamId: 'grid',
              paramAction: 'SETPARAMVALUE',
              srcFieldName:
                "getController('form').details.attachments.mdController",
              srcDEUILogicParamId: 'view',
              srcValueType: 'SRCDLPARAM',
              name: "view[getController('form').details.attachments.mdController] ==> grid",
              id: "view[getcontroller('form').details.attachments.mdcontroller] ==> grid",
            },
            {
              dstFieldName: 'id',
              dstDEUILogicParamId: 'params',
              paramAction: 'SETPARAMVALUE',
              srcFieldName: 'id',
              srcDEUILogicParamId: 'default',
              srcValueType: 'SRCDLPARAM',
              name: 'Default[id] ==> params[id]',
              id: 'default[id] ==> params[id]',
            },
            {
              dstDEUILogicParamId: 'form',
              paramAction: 'SETPARAMVALUE',
              srcFieldName: 'layoutPanel.panelItems.form.control',
              srcDEUILogicParamId: 'view',
              srcValueType: 'SRCDLPARAM',
              name: 'view[layoutPanel.panelItems.form.control] ==> form',
              id: 'view[layoutpanel.panelitems.form.control] ==> form',
            },
          ],
          topPos: 208,
          name: '获取表格部件',
          id: 'preparejsparam1',
        },
      ],
      deuilogicParams: [
        {
          codeName: 'attach',
          entityParam: true,
          name: '附件数据',
          id: 'attach',
        },
        {
          codeName: 'view',
          activeViewParam: true,
          name: '当前视图对象',
          id: 'view',
        },
        {
          codeName: 'params',
          viewNavDataParam: true,
          name: '视图参数',
          id: 'params',
        },
        {
          codeName: 'Default',
          default: true,
          entityParam: true,
          name: '传入变量',
          id: 'default',
        },
        {
          codeName: 'form',
          ctrlParam: true,
          name: '主表单对象',
          id: 'form',
        },
        {
          codeName: 'grid',
          ctrlParam: true,
          name: '表格',
          id: 'grid',
        },
      ],
      startDEUILogicNodeId: 'begin',
      name: '附件删除',
      id: 'remove_attachment',
    },
  ],
  deopprivs: [
    {
      logicName: '建立',
      name: 'CREATE',
      id: 'create',
    },
    {
      logicName: '删除',
      name: 'DELETE',
      id: 'delete',
    },
    {
      logicName: '读取',
      name: 'READ',
      id: 'read',
    },
    {
      logicName: '更新',
      name: 'UPDATE',
      id: 'update',
    },
  ],
  codeName: 'attachment',
  deapicodeName: 'attachment',
  deapicodeName2: 'attachments',
  deapitag: 'ATTACHMENT',
  dataAccCtrlArch: 1,
  dataAccCtrlMode: 2,
  enableUIActions: 15,
  keyAppDEFieldId: 'id',
  lnlanguageRes: {
    lanResTag: 'DE.LNAME.ATTACHMENT',
  },
  logicName: '附件',
  majorAppDEFieldId: 'name',
  quickSearchAppDEFieldIds: ['name'],
  sysAPITag: 'api',
  defaultMode: true,
  enableFilterActions: true,
  name: 'ATTACHMENT',
  id: 'web.attachment',
  codeName2: 'attachments',
  requestPaths: [],
};
